With a data processing system as represented by database retrieval processing, the off-loading of a part of the processing performed by the data processing server to a hardware engine disposed near a large capacity storage medium (storage) is being considered for speeding up data processing (PTL 1).
Meanwhile, a hard disk drive (HDD) was predominant as a large capacity storage medium, but the switch to a solid state drive (SSD) is getting underway for improving the reading and writing (READ/WRITE) speed.
An SSD is characterized in being internally equipped with numerous NAND (Not AND)-type flash memories, and commands can be executed in parallel based on specific combinations, and thus the improvement in the read/write performance can be expected.
Nevertheless, when AHCI (Advanced Host Controller Interface), a conventional protocol for an HDD, is applied to an SSD, the maximum number of queues that can be handled with the AHCI is 32 queues. Consequently, with the AHCI, since the maximum number of queues that can be handled is few at 32 queues, there is a problem in that the SSD's attribute of loading commands in multiple queues and executing commands in parallel cannot be leveraged.
Thus, NVMe (Non-Volatile Memory Express) has been formulated as the protocol which gives consideration to the attribute of the SSD, and is now being applied to products. The maximum number of queues that can be managed by the NVMe is 65535 queues, and this specification can sufficiently leverage the attribute of the SSD.
Meanwhile, the connection from a host (host computer) to the SSD is being switched from SATA (Serial Advanced Technology Attachment), which was being used for HDDs, to PCIe (Peripheral Component Interconnect express). While the sequential reading performance is only 6 Gbps with SATA 3.0, the performance is improved to 16 Gbps even in PCIe Gen 4×1 simplex.
When NVMe is used as the protocol to access an SSD, since the PCIe SSD controller will appear to be the same from the OS irrespective of the manufacturer of the PCIe SSD controller, it is possible to access the PCIe SSD of all vendors using one NVMe driver.
Moreover, as a conventional example, in a database retrieval system, known is a technology for improving the retrieval processing performance of a database by providing queues dedicated to database retrieval (PTL 2).